﻿namespace StockSharp.Algo.Indicators.Misc
{
	using System.ComponentModel;

	using StockSharp.Algo.Candles;

	/// <summary>
	/// Объем свечки.
	/// </summary>
	[DisplayName("Объем")]
	[Description("Объем свечки.")]
	public class VolumeIndicator : BaseIndicator<decimal>
	{
		/// <summary>
		/// Создать <see cref="VolumeIndicator"/>.
		/// </summary>
		public VolumeIndicator()
			: base(typeof(Candle))
		{
		}

		/// <summary>
		/// Сформирован ли индикатор.
		/// </summary>
		public override bool IsFormed
		{
			get { return true; }
		}

		/// <summary>
		/// Обработать входное значение.
		/// </summary>
		/// <param name="input">Входное значение.</param>
		/// <returns>Результирующее значение.</returns>
		protected override decimal OnProcess(IIndicatorValue input)
		{
			return input.GetValue<Candle>().TotalVolume;
		}
	}
}